From Relational Specifications to Logic Programs
نویسنده
چکیده
This paper presents a compiler from expressive, relational specifications to logic programs. Specifically, the compiler translates the Imperative Alloy specification language to Prolog. Imperative Alloy is a declarative, relational specification language based on first-order logic and extended with imperative constructs; Alloy specifications are traditionally not executable. In spite of this theoretical limitation, the compiler produces useful prototype implementations for many specifications.
منابع مشابه
ReLoC: A Mechanised Relational Logic for Fine-Grained Concurrency
We present ReLoC: a logic for proving refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of our logic is a judgement e ≾ e ′ : τ , which expresses that a program e refines a program e ′ at type τ . In contrast to earlier work on refinements for languages with higher-order state and concurrency, ReLoC provides typea...
متن کاملRelational Approach to Boolean Logic Problems
We present a method for specifying and implementing algorithms for Boolean logic problems. It is formally grounded in relational algebra. Specifications are written in first-order set theory and then transformed systematically into relation-algebraic forms which can be executed directly in RelView, a computer system for the manipulation of relations and relational programming. Our method yields...
متن کاملJKelloy: A Proof Assistant for Relational Specifications of Java Programs
Alloy is a relational specification language with a built-in transitive closure operator which makes it particularly suitable for writing concise specifications of linked data structures. Several tools support Alloy specifications for Java programs. However, they can only check the validity of those specifications with respect to a bounded domain, and thus, in general, cannot provide correctnes...
متن کاملRoland Backhouse : Relational Theory of Data Types 5 David Basin : Program Synthesis as Higher Order Resolution
Introduction 4 Roland Backhouse: Relational Theory of Data Types 5 David Basin: Program Synthesis as Higher Order Resolution 6 Bettina Buth: Verification Support for Compiler Development 7 Debora Weber-Wulff: Growing Programs from Proofs 8 Jacques Loeckx (with M. Wolf): Constructive versus axiomatic and initial specifications 9 Friederike Nickl: An Algebraic/Axiomatic Interpretation of Data Flo...
متن کاملRelational Logic with Framing and Hypotheses
Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs of intermediate steps, has been used in numerous guises, but existing relational program logics are narrow in scope. This paper introduces a logic based on no...
متن کامل